part of '../launch.dart';

/// 在MaterialApp中注册此Key，才能使用contextNow
final argNaviKey = Argument<GlobalKey<NavigatorState>>()
  ..value = GlobalKey<NavigatorState>();

/// key是不公开的（只用于注册），但是当前的环境可以公开
/// 这样就可以避免在大部分场合下手动传入context
BuildContext get contextNow {
  final context = argNaviKey.value.currentContext;
  if (context == null) {
    throw BugDev("未在MaterialApp中注册navigatorKey，导致无法找到当前环境");
  } else {
    return context;
  }
}
